/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * 
 * 
 *
 * 
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using System;
using System.Collections.Generic;
using System.Text;

using JDCloudSDK.Core.Annotation;

namespace JDCloudSDK.Monitor.Model
{

    /// <summary>
    ///  describeMetricDataSpec
    /// </summary>
    public class DescribeMetricDataSpec
    {

        ///<summary>
        /// 聚合方式，可选值参考:sum、avg、min、max
        ///</summary>
        public string AggrType{ get; set; }
        ///<summary>
        /// 资源的维度。当serviceCode下存在多个维度时，查询数据必须指定相应的维度
        ///</summary>
        public string Dimension{ get; set; }
        ///<summary>
        /// 采样方式，可选值参考：sum、avg、last、min、max
        ///</summary>
        public string DownSampleType{ get; set; }
        ///<summary>
        /// 查询时间范围的结束时间， UTC时间，格式：2016-12-11T00:00:00+0800（为空时，将由startTime与timeInterval计算得出）（注意在url中+要转译为%2B故url中为2016-12-11T00:00:00%2B0800）
        /// in: query
        ///</summary>
        public string EndTime{ get; set; }
        ///<summary>
        /// 是否对查询的tags分组
        /// in: query
        ///</summary>
        public bool GroupBy{ get; set; }
        ///<summary>
        /// 是否求速率
        /// in: query
        ///</summary>
        public bool Rate{ get; set; }
        ///<summary>
        /// 资源的uuid
        ///Required:true
        ///</summary>
        [Required]
        public string ResourceId{ get; set; }
        ///<summary>
        /// 资源的类型，取值vm, lb, ip, database 等,&lt;a href&#x3D;&quot;https://docs.jdcloud.com/cn/monitoring/api/describeservices?content&#x3D;API&amp;SOP&#x3D;JDCloud&quot;&gt;describeServices&lt;/a&gt;：查询己接入云监控的产品线列表，当产品线下有多个分组时，查询分组对应的监控项，serviceCode请传对应分组的groupCode字段值
        ///</summary>
        public string ServiceCode{ get; set; }
        ///<summary>
        /// 查询时间范围的开始时间， UTC时间，格式：2016-12-11T00:00:00+0800（注意在url中+要转译为%2B故url中为2016-12-11T00:00:00%2B0800）
        /// in: query
        ///</summary>
        public string StartTime{ get; set; }
        ///<summary>
        /// 监控指标数据的维度信息,根据tags来筛选指标数据不同的维度
        /// in: query
        ///</summary>
        public List<TagFilter> Tags{ get; set; }
        ///<summary>
        /// 时间间隔：1h，6h，12h，1d，3d，7d，14d，固定时间间隔，timeInterval默认为1h，当前时间往 前1h
        /// in: query
        ///</summary>
        public string TimeInterval{ get; set; }
    }
}
